package com.micro.train.service;

import com.micro.train.entity.Station;

import java.util.List;

/**
 * 车站信息服务接口
 */
public interface StationService {
    
    /**
     * 添加车站信息
     */
    Station addStation(Station station);
    
    /**
     * 更新车站信息
     */
    Station updateStation(Long stationId, Station station);
    
    /**
     * 删除车站信息
     */
    void deleteStation(Long stationId);
    
    /**
     * 获取所有车站信息
     */
    List<Station> getAllStations();
    
    /**
     * 根据ID获取车站信息
     */
    Station getStationById(Long stationId);
    
    /**
     * 根据车站代码查询车站
     */
    Station getStationByCode(String stationCode);
    
    /**
     * 根据城市代码查询车站
     */
    List<Station> getStationsByCityCode(String cityCode);
    
    /**
     * 根据城市名称查询车站
     */
    List<Station> getStationsByCityName(String cityName);
    
    /**
     * 根据省份查询车站
     */
    List<Station> getStationsByProvince(String province);
    
    /**
     * 根据状态查询车站
     */
    List<Station> getStationsByStatus(Integer status);
    
    /**
     * 根据车站名称模糊查询
     */
    List<Station> getStationsByNameLike(String stationName);
}
